<?php

namespace app\admin\model;
use think\facade\Db;
use think\Model;

/**
 * Space
 */
class Space extends Model
{
    // 表名
    protected $name = 'space';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = true;

    protected $createTime = 'timestamp'; // 自定义创建时间字段名

    // 字段类型转换
    protected $type = [
        'timestamp' => 'timestamp:Y-m-d H:i:s',
    ];

    protected $append = [
        'device_num'
    ];

    public function admin()
    {
        // hasOne(关联模型类名, 外键, 主键)
        return $this->hasOne(\app\admin\model\Admin::class, 'id', 'agent_id');
    }

    public function getDeviceNumAttr($value, $row)
    {
        return Db::name('device')
            ->where('space_id', $row['id'])
            ->count();
    }

}